This invention relates to apparatus for data communication between a plurality of computers connected to a common bus, and more particularly to such communication between autonomous computers which operate at different rates and under different protocols.
In many applications, both scientific and business, the growing use of digital computers for processing data has proliferated the volume of data to such an extent that often a plurality of computers are required, each devoted to a different task with a need for communications between the computers in order to carry out their respective tasks. One approach to a local area network system is centralized control, but that requires a dedicated computer for the control function. The alternative is distributed control where all host computers on the network will be monitoring the availability of the bus for data transmission. Obviously, two or more computers may transmit simultaneously resulting in collision of the data on the bus. This then requires detecting the collision and aborting the attempted transmission by all computers. While such an anticollision feature would be necessary in any distributed control system, that feature alone would not assure complete freedom of communication between computers. There is still the burden of one computer addressing another for transmission, which necessarily requires each computer to know what other computers are on the bus. But even then, the necessity of addressing individual computers becomes burdensome. What is required is autonomous computer control with the facility for not only addressing individual computers on the bus, or broadcasting to all of them, but also transmitting data to other computers based upon the type of data being transmitted, or some other criteria, as a form of limited broadcast.
An example of a typical application which would benefit from a multicomputer system operating with autonomous computer control of communications is the Voyager ground telemetry data processing system. That is currently done by computers interconnected by a Star Switch Controller (SSC). The system receives the incoming data, deblocks it, synchronizes it, and extracts science and spacecraft health data in real time. The SSC allows for a single, unidirectional data transmission link between any two of sixteen computers connected to its ports. Although operational, the SSC system has many disadvantages: all computers must be within 500 feet of the SSC; the transmitting computer must perform all the input/output protocol data handling; data cannot be broadcast to more than one receiving computer; and only 8-bit parallel data transfer can take place.
Because of the limited number of computers that can be connected and the 8-bit parallel data transfer, the SSC system is deemed quite inadequate for future missions. In addition, since the SSC is the central connection for the system, through which all data must pass during every transmission between computers, it is a single point of failure which can shut down the system. Consequently, redundant SSC's are required as backup to provide additional reliability for this centralized control organization.
The limited capability of the SSC and its vulnerability necessitated the design of a better intercomputer communication system to handle the projected increase in workload. An extensive study to seek viable alternatives to the SSC resulted in two possibilities, a global bus and a ring bus. In these network configurations, no computer is granted sole authority in managing data communications on the network, therefore improved reliability is achieved. However, a ring structure is undesirable due to additional requirements for routing and the added complexity associated with the addition or deletion of a computer to or from the network. The global bus does not necessarily entail these additional requirements and added complexity, but like the ring structure, global bus systems have in the past lacked certain desirable properties, such as having limited (group) broadcast capability and the requirement of a standard protocol.